﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.Odbc;
using WLMCoreLibrary;
using System.Text;
using System.Collections.Generic;

namespace WLMWebServices
{
    public class MailsPublicidad : BaseClass
    {
        #region private fields
        private String _titulo;
        private String _contenido;
        private int _envios;
        private Boolean _activo;
        #endregion

        #region public properties
        public String titulo { get { return _titulo; } set { _titulo = value; } }
        public String contenido { get { return _contenido; } set { _contenido = value; } }
        public int envios { get { return _envios; } set { _envios = value; } }
        public Boolean activo { get { return _activo; } set { _activo = value; } }
        #endregion

        #region constructors
        public MailsPublicidad( ref dbConnector ConexionDB )
        {
            ConexionDBInterna = ConexionDB;
            WLMClassBinder classBinder = new WLMClassBinder( ref ConexionDB );

            id = classBinder.NewRecord( "MAILSPUBLICIDAD" );
            string queryString = "";
            queryString = "SELECT * FROM MAILSPUBLICIDAD WHERE id='" + id + "'";
            GetRecord( queryString );
        }

        public MailsPublicidad( int registryId, ref dbConnector ConexionDB )
        {
            ConexionDBInterna = ConexionDB;
            string queryString = "";
            queryString = "SELECT * FROM MAILSPUBLICIDAD WHERE id='" + registryId + "'";
            this.GetRecord( queryString );
        }

        public MailsPublicidad( Random rand, ref dbConnector ConexionDB )
        {
            ConexionDBInterna = ConexionDB;
            string queryString = "";
            queryString = "SELECT * FROM MAILSPUBLICIDAD order by RAND() limit 1";
            this.GetRecord( queryString );
        }
        #endregion

        #region public methods

        public void Delete()
        {
            string queryString = "";
            queryString = "DELETE FROM MAILSPUBLICIDAD WHERE id='" + id + "'";
            ConexionDBInterna.ExecuteCommand( queryString );

        }
        #endregion


        #region Private Methods
        private void GetRecord( string queryString )
        {
            OdbcDataReader reader = ConexionDBInterna.ExecuteReader( queryString );
            if ( reader.HasRows )
            {
                if ( !reader.IsDBNull( reader.GetOrdinal( "id" ) ) )
                    id = (System.Int32)reader["id"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "fechaCreacion" ) ) )
                    fechaCreacion = Convert.ToDateTime( reader["fechaCreacion"] );
                if ( !reader.IsDBNull( reader.GetOrdinal( "fechaModificacion" ) ) ) fechaModificacion = Convert.ToDateTime( reader["fechaModificacion"] );
                if ( !reader.IsDBNull( reader.GetOrdinal( "idUsuarioModificacion" ) ) ) idUsuarioModificacion = (System.Int32)reader["idUsuarioModificacion"];


                if ( !reader.IsDBNull( reader.GetOrdinal( "idUsuario" ) ) )
                    idUsuario = (System.Int32)reader["idUsuario"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "titulo" ) ) )
                    titulo = (System.String)reader["titulo"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "contenido" ) ) )
                    contenido = (System.String)reader["contenido"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "envios" ) ) )
                    envios = (System.Int32)reader["envios"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "activo" ) ) )
                    activo = Convert.ToBoolean( reader["activo"] );
            }
        }


        protected override void UpdateBind()
        {
            StringBuilder strCommand = new StringBuilder();
            strCommand.Append( "UPDATE MAILSPUBLICIDAD set " ); strCommand.Append( "fechaModificacion='" + this.fechaModificacion.ToString( "yyyy-MM-dd HH:mm:ss" ) + "'" ); strCommand.Append( ",idUsuarioModificacion=\"" + idUsuarioModificacion.ToString() + "\"" );

            strCommand.Append( ",titulo=\"" + WLMFunctions.comillas( this._titulo ) + "\"" );
            strCommand.Append( ",contenido=\"" + WLMFunctions.comillas( this._contenido ) + "\"" );
            strCommand.Append( ",envios='" + envios.ToString() + "'" );
            strCommand.Append( ",activo='" + Convert.ToInt16( this._activo ) + "'" );
            strCommand.Append( " WHERE id='" + id + "'" );
            ConexionDBInterna.ExecuteCommand( strCommand.ToString() );
        }
        #endregion
    }




    public class MailsPublicidadCollection
    {

        public List<MailsPublicidad> Elementos { get; set; }
        public MailsPublicidadCollection()
        {
        }
        public MailsPublicidadCollection( ref dbConnector ConexionDB )
        {

            string strCommand = "SELECT id FROM MAILSPUBLICIDAD ";
            OdbcDataReader dataReader = ConexionDB.ExecuteReader( strCommand );
            Elementos = new List<MailsPublicidad>();
            while ( dataReader.Read() )
            {
                MailsPublicidad newItem = new MailsPublicidad( Convert.ToInt32( dataReader["id"] ), ref ConexionDB );
                Elementos.Add( newItem );
            }
            dataReader.Close();
            dataReader.Dispose();
        }
    }

    public class MailsRegistro : BaseClass
    {
        #region private fields
        private String _de;
        private String _deNombre;
        private String _para;
        private String _paraNombre;
        private DateTime _fechaEnvio;
        private String _Titulo;
        private String _contenido;
        private String _dominio;
        #endregion

        #region public properties
        public String de { get { return _de; } set { _de = value; } }
        public String deNombre { get { return _deNombre; } set { _deNombre = value; } }
        public String para { get { return _para; } set { _para = value; } }
        public String paraNombre { get { return _paraNombre; } set { _paraNombre = value; } }
        public DateTime fechaEnvio { get { return _fechaEnvio; } set { _fechaEnvio = value; } }
        public String Titulo { get { return _Titulo; } set { _Titulo = value; } }
        public String contenido { get { return _contenido; } set { _contenido = value; } }
        public String dominio { get { return _dominio; } set { _dominio = value; } }
        #endregion

        #region constructors
        public MailsRegistro( ref dbConnector ConexionDB )
        {
            ConexionDBInterna = ConexionDB;
            WLMClassBinder classBinder = new WLMClassBinder( ref ConexionDB );
            id = classBinder.NewRecord( "MAILSREGISTRO" );
            string queryString = "";
            queryString = "SELECT * FROM MAILSREGISTRO WHERE id='" + id + "'";
            GetRecord( queryString );
        }

        public MailsRegistro( int registryId, ref dbConnector ConexionDB )
        {
            ConexionDBInterna = ConexionDB;
            string queryString = "";
            queryString = "SELECT * FROM MAILSREGISTRO WHERE id='" + registryId + "'";
            this.GetRecord( queryString );
        }
        #endregion

        #region public methods

        public void Delete()
        {
            string queryString = "";
            queryString = "DELETE FROM MAILSREGISTRO WHERE id='" + id + "'";
            ConexionDBInterna.ExecuteCommand( queryString );

        }
        #endregion


        #region Private Methods
        private void GetRecord( string queryString )
        {
            OdbcDataReader reader = ConexionDBInterna.ExecuteReader( queryString );
            if ( reader.HasRows )
            {
                if ( !reader.IsDBNull( reader.GetOrdinal( "id" ) ) )
                    id = (System.Int32)reader["id"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "fechaCreacion" ) ) )
                    fechaCreacion = Convert.ToDateTime( reader["fechaCreacion"] );
                if ( !reader.IsDBNull( reader.GetOrdinal( "fechaModificacion" ) ) ) fechaModificacion = Convert.ToDateTime( reader["fechaModificacion"] );
                if ( !reader.IsDBNull( reader.GetOrdinal( "idUsuarioModificacion" ) ) ) idUsuarioModificacion = (System.Int32)reader["idUsuarioModificacion"];


                if ( !reader.IsDBNull( reader.GetOrdinal( "idUsuario" ) ) )
                    idUsuario = (System.Int32)reader["idUsuario"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "de" ) ) )
                    de = (System.String)reader["de"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "deNombre" ) ) )
                    deNombre = (System.String)reader["deNombre"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "para" ) ) )
                    para = (System.String)reader["para"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "paraNombre" ) ) )
                    paraNombre = (System.String)reader["paraNombre"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "fechaEnvio" ) ) )
                    fechaEnvio = Convert.ToDateTime( reader["fechaEnvio"] );
                if ( !reader.IsDBNull( reader.GetOrdinal( "Titulo" ) ) )
                    Titulo = (System.String)reader["Titulo"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "contenido" ) ) )
                    contenido = (System.String)reader["contenido"];
                if ( !reader.IsDBNull( reader.GetOrdinal( "dominio" ) ) )
                    dominio = (System.String)reader["dominio"];
            }
        }


        protected override void UpdateBind()
        {
            StringBuilder strCommand = new StringBuilder();
            strCommand.Append( "UPDATE MAILSREGISTRO set " ); strCommand.Append( "fechaModificacion='" + this.fechaModificacion.ToString( "yyyy-MM-dd HH:mm:ss" ) + "'" ); strCommand.Append( ",idUsuarioModificacion=\"" + idUsuarioModificacion.ToString() + "\"" );

            strCommand.Append( ",de=\"" + WLMFunctions.comillas( this._de ) + "\"" );
            strCommand.Append( ",deNombre=\"" + WLMFunctions.comillas( this._deNombre ) + "\"" );
            strCommand.Append( ",para=\"" + WLMFunctions.comillas( this._para ) + "\"" );
            strCommand.Append( ",paraNombre=\"" + WLMFunctions.comillas( this._paraNombre ) + "\"" );
            strCommand.Append( ",fechaEnvio='" + fechaEnvio.ToString( "yyyy-MM-dd HH:mm:ss" ) + "'" );
            strCommand.Append( ",Titulo=\"" + WLMFunctions.comillas( this._Titulo ) + "\"" );
            strCommand.Append( ",contenido=\"" + WLMFunctions.comillas( this._contenido ) + "\"" );
            strCommand.Append( ",dominio=\"" + WLMFunctions.comillas( this._dominio ) + "\"" );
            strCommand.Append( " WHERE id='" + id + "'" );
            ConexionDBInterna.ExecuteCommand( strCommand.ToString() );
        }
        #endregion
    }
    public class MailsRegistroCollection
    {
        public List<MailsRegistro> Elementos { get; set; }
        public MailsRegistroCollection()
        {
        }
        public MailsRegistroCollection( ref dbConnector ConexionDB )
        {

            string strCommand = "SELECT id FROM MAILSREGISTRO ";
            OdbcDataReader dataReader = ConexionDB.ExecuteReader( strCommand );
            Elementos = new List<MailsRegistro>();
            while ( dataReader.Read() )
            {
                MailsRegistro newItem = new MailsRegistro( Convert.ToInt32( dataReader["id"] ), ref ConexionDB );
                Elementos.Add( newItem );
            }
            dataReader.Close();
            dataReader.Dispose();
        }
    }
}
